iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 2
0
自我挑戰組

Aras PLM開發練功30天系列 第 2

[Aras Day2] 新增第一個Server Event-OnBefore

  • 分享至 

  • xImage
  •  

藉由上一篇建置完成的 Work Order派工單,這一篇我們新增ItemType的Server Event,並稍微理解一下Server Event到底做了些什麼,以及如何撰寫基本的Aras API。

在Aras Innovator中開發只需要在Method的ItemType新增物件,選擇自己的語言後可以開始撰寫,最後存檔並加入至自己的ItemType,或是其他功能上,就可以實現各種邏輯驗證、防呆、資料修正等等。

Method存放位置
Method存放位置

Method介面
Method存放位置

Aras事件處理-Server Event

Aras事件相當多種,在官方11.0 SP9 Programmers Guide.pdf中 4.4.3節說到Server Event可用的事件處理如下清單,用途在於對資料表存取時的動作。

  1. OnBeforeAdd 新增資料前
  2. OnAfterAdd 新增資料後
  3. OnAdd 新增
  4. OnBeforeUpdate 修改資料前
  5. OnAfterUpdate 修改資料後
  6. OnUpdate 修改
  7. OnBeforeDelete 刪除資料前
  8. OnAfterDelete 刪除資料後
  9. OnDelete 刪除
  10. OnBeforeGet 讀取資料前
  11. OnAfterGet 讀取資料後
  12. OnGet 讀取
  13. OnBeforeCopy 複製資料前
  14. OnAfterCopy 複製資料後
  15. OnBeforeLock 上鎖資料前
  16. OnAfterLock 上鎖資料後
  17. OnBeforeUnlock 解鎖資料前
  18. OnAfterUnlock 解鎖資料後
  19. OnBeforeVersion 變版前
  20. OnAfterVersion 變版後
  21. OnBeforeMethod 執行Method前
  22. OnAfterMethod 執行Method後
  23. OnGetKeyedName 讀取KeyedName時

在這裡要注意到Aras的事件有個特色,就是OnBefore與OnAfter的差異,以及On的用途,下方圖解
OnBeforeOnAfter
舉例,當物件資料進行新增時,新增進入資料表Table前會執行一段事件,反之,完成新增後會執行一段事件,而且同一個事件區段內,可能會有多個Method執行。
當有越多Method執行相同邏輯迴圈時,可能要考慮到效能問題,降低Server的負擔。

開始實作

新增方法
新增方法

設定Event事件
設定Event事件

輸入方法名稱後存檔
輸入方法名稱後存檔

開啟方法輸入程式碼後存檔
開啟方法輸入程式碼後存檔

驗證物件cost值是否在範圍之內

Innovator inn = this.getInnovator();

string costStr=this.getProperty("cost","");

int costInt=int.Parse(costStr);

if(costInt>1000 || costInt <10){
    return inn.newError("Can't Cost >1000 || Cost<10");
}

return this;

新增一筆資料,並在Cost輸入1001存檔
新增一筆資料,並在Cost輸入1001存檔

Cost輸入1001存檔提示錯誤訊息
Cost輸入1001存檔提示錯誤訊息

Cost輸入15存檔完成
Cost輸入15存檔完成

修改此筆資料

Innovator inn = this.getInnovator();

string costStr=this.getProperty("cost","");

int costInt=int.Parse(costStr);

if(costInt>1000){
    //return inn.newError("Can't Cost >1000 || Cost<10");
    this.setProperty("cost","999");
}

return this;

下一篇介紹 Server Event-OnAfter 以及基本的API使用解說


上一篇
[Aras Day1] 開發前資料表建置-派工單
下一篇
[Aras Day3] Server Event-OnAfterUpdate & this物件
系列文
Aras PLM開發練功30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言